package com.xinzhidi.web.sim.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xinzhidi.common.core.page.TableDataInfo;
import com.xinzhidi.web.sim.domain.SimCard;
import com.xinzhidi.web.sim.domain.dto.SimCardAddDto;
import com.xinzhidi.web.sim.domain.dto.SimCardListDto;
import com.xinzhidi.web.sim.domain.dto.SimCardUpdDto;
import com.xinzhidi.web.sim.domain.vo.SimCardInfoVo;
import com.xinzhidi.web.sim.domain.vo.SimCardListVo;
import org.springframework.web.multipart.MultipartFile;


/**
 * sim卡Service接口
 *
 * @author ruoyi
 * @date 2023-05-25
 */
public interface ISimCardService extends IService<SimCard> {

    /**
     * 查询sim卡
     *
     * @param id sim卡主键
     * @return sim卡
     */
    SimCardInfoVo selectSimCardById(Long id);

    /**
     * 查询sim卡列表
     *
     * @param dto sim卡
     * @return sim卡集合
     */
    TableDataInfo<SimCardListVo> selectSimCardList(SimCardListDto dto);

    /**
     * 新增sim卡
     *
     * @param dto sim卡
     * @return 结果
     */
    int insertSimCard(SimCardAddDto dto);

    /**
     * 修改sim卡
     *
     * @param dto sim卡
     * @return 结果
     */
    int updateSimCard(SimCardUpdDto dto);

    /**
     * 批量删除sim卡
     *
     * @param ids 需要删除的sim卡主键集合
     * @return 结果
     */
    int deleteSimCardByIds(Long[] ids);

    /**
     * 删除sim卡信息
     *
     * @param id sim卡主键
     * @return 结果
     */
    int deleteSimCardById(Long id);

    String importExcel(MultipartFile file);

    /**
     * 校验设备地址是否存在
     *
     * @param dtuId    dtuId
     * @param address  设备地址域
     * @return true：存在 false：不存在
     */
    boolean checkSimCard(long dtuId , String address);
}
